Task01 Петр Маяцкий ИТМО#5
Open
BellatorHonoris07 wants to merge 1 commit intoPhotogrammetryCourse:task01from
Open
Task01 Петр Маяцкий ИТМО#5BellatorHonoris07 wants to merge 1 commit intoPhotogrammetryCourse:task01from
BellatorHonoris07 wants to merge 1 commit intoPhotogrammetryCourse:task01from
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Немного влияют шумы и сглаживание гистограммы, так же у точки может быть несколько ориентаций. при ORIENTATION_VOTES_PEAK_RATIO=0.999 вторичные пики почти исчезнут, а значит ориентации будут стабильнее, но число ориентированных точек уменьшится, что ухудшит recall
ради интереса попробовал распараллелить локально findScaleSpaceExtrema (по y), computeOrientations и computeDescriptors (по keypoints), замерил на разных количествах потоков, получилось примерно такое:
1 поток 23.189с
2 потока 19.308с
4 потока 17.512с
8, 12, 16, 20 примерно 15 секунд
железо: i9‑13900H, 14 cores / 20 threads
ну будет одинаково и так и так, просто вариант с дополнением размытия будет чуть быстрее т.к. нужно более маленькое ядро свертки на каждый шаг
из ожиданий с каждым слоем картинка должна становиться более размытой и терять мелкие детали
визуально должны совпадать последняя картинка n-й октавы и первая n+1-й октавы (там размытия не добавляем, просто уменьшаем картинку в 2 раза)
cравнивать можно по сохранённым структурам/объектам (те же элементы, только в 2 раза меньше)
потому что Dog слоев на один меньше чем Gaussian, а для поиска экстремума нужны Dog слой сверху и слой снизу.
Dog подчеркивает локальные изменения маштаба, значит должен быть очень близок к нулю в однородных областях, а на характерных структурах должны быть сильные положительные или отрицательные отклики
Потому что при большем числе слоев соседние сигмы ближе, и разности между ними становятся меньше по амплитуде
float sigma_win = 1.5f * kp_sigma_octave;
int radius = (int)std::round(3.f * sigma_win);
float angle_invariant = angle - kp_angle_rad;
Github Actions CI